28|重构的技术手段

重构的技术手段

最能保证重构不出错的手段 – 单元测试

什么是单元测试

  1. 测试粒度小
  2. 测试对象:类或者函数

为什么要写单元测试

  1. 帮助发现代码中的bug
  2. 帮助发现代码设计中的问题

代码的可测试性是衡量代码质量的一个标准,如果单元测试写起来很吃力,说明代码设计有些问题。

  1. 单元测试是对集成测试的有力补充。
  2. 写单元测试的过程就是代码重构的过程
  3. 阅读单元测试可以快速熟悉代码
  4. 单元测试是TDD落地执行的改进方案。

如何编写单元测试

  1. 利用测试框架,如JUnit,TestNG,Spring Test等
  2. 设计覆盖各种输入、异常、边界条件的测试用例
  • 编写单元测试尽管繁琐,但并不是太耗时;
  • 我们可以稍微放低对单元测试代码质量的要求;
  • 覆盖率作为衡量单元测试质量的唯一标准是不合理的;
  • 单元测试不要依赖被测代码的具体实现逻辑;
  • 单元测试框架无法测试,多半是因为代码的可测试性不好。

单元测试为何难以落地

  1. 单元测试繁琐,技术挑战小,不愿意执行。
  2. 研发氛围“快、糙、猛”,难以执行。